1 /** 2 注意:从Windows Vista系统才开始支持CTaskDialog类,所以在使用时最好调用 CTaskDialog::IsSupported() 方法做判断 3 同时:CTaskDialog类只对Unicode应用程序可用, 同时要添加头文件:include "afxtaskdialog.h"的支持 4 */ 5 void CMainFrame::OnCtaskdialog() 6 { 7 if( CTaskDialog::IsSupported() ) // 判断是否支持CTaskDialog类 8 { 9 CTaskDialog taskDlg(_T(""), _T(""), _T(""));10 taskDlg.SetContent(_T("SetContent方法设置\n")11 _T("还支持超链接到百度.")); //可以这样续行写,仍然是连在一起的一句话,而且可以使用超链接12 taskDlg.SetMainInstruction(_T("SetMainInstruction方法设置")_T("内容可以直接写?"));13 taskDlg.SetWindowTitle(_T("SetWindow方法设置"));14 15 // 加入3个命令按钮16 taskDlg.AddCommandControl(1, _T("Command1(ID=1)\nSecond line"));17 taskDlg.AddCommandControl(2, _T("Command1(ID=2)\t")_T("It is amazing!"));18 taskDlg.AddCommandControl(3, _T("Command1(ID=3)\t")_T("You are so clever!"));19 20 // 加入2个单选按钮21 taskDlg.AddRadioButton(4, _T("Radio button1(ID=4)"));22 taskDlg.AddRadioButton(5, _T("Radio button2(ID=5)"));23 24 // 加入一些可供用户选择显示或隐藏的解释消息25 taskDlg.SetExpansionArea(_T("第一个参数:显示/隐藏消息功能的实现标题"), _T("第二个参数:点击扩展信息"),_T("第三个参数:点此隐藏信息"));26 // 注意:第一个参数是在扩展信息打开时才出现的标题信息27 28 // 配置页脚文本和页脚图标29 taskDlg.SetFooterIcon( MAKEINTRESOURCE( IDI_INFORMATION) );30 taskDlg.SetFooterText(_T("Foot Text!支持超链接到百度."));31 32 // 设置任务对话框的主图标33 taskDlg.SetMainIcon(MAKEINTRESOURCE( IDI_ERROR) );34 35 // 向任务对话框添加一个进度条36 taskDlg.SetProgressBarMarquee();37 taskDlg.SetProgressBarRange(0, 100);38 taskDlg.SetProgressBarPosition(30);39 40 // 在任务对话框的底部添加一个复选框41 taskDlg.SetVerificationCheckboxText(_T("Always show this dialog?"));42 taskDlg.SetVerificationCheckbox(TRUE); // 默认选中43 44 int options = taskDlg.GetOptions();45 options != TDF_ENABLE_HYPERLINKS | TDF_CALLBACK_TIMER;46 taskDlg.SetOptions(options);47 48 taskDlg.DoModal();49 }50 else51 {52 MessageBox(); // 使用标准消息框53 }54 }
效果如下所示: